package com.owc.dao;

import com.owc.domain.dto.ProductDTO;
import com.owc.domain.dto.ProductDetailDTO;
import com.owc.domain.dto.admin.ProductWithAdminDTO;
import com.owc.domain.entity.Product;

import java.util.List;

import com.owc.domain.vo.admin.ProductQueryVo;
import org.apache.ibatis.annotations.Param;

public interface ProductMapper extends BaseMapper<Product, Long> {

    /**
     * 获取所有产品列表
     */
    List<ProductDTO> selectAll();

    /**
     * 获取产品详情
     *
     * @param id 产品ID
     * @return 产品详情
     */
    ProductDetailDTO selectDetailByProduceId(@Param("id") Long id);

    /**
     * 获取产品列表(后台使用)
     * @param productQueryVo  查询参数
     */
    List<ProductWithAdminDTO> selectByFilter(@Param("queryModel") ProductQueryVo productQueryVo);
}